home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994…tember: Reference Library / Dev.CD Sep 94.toast / Periodicals / develop / develop Issue 6 / develop 6 code / TCP / NewsWatcher / NewsWatcher 2.0d15 source / source / menus.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-08-06  |  12.4 KB  |  387 lines  |  [TEXT/KAHL]

  1. #define kMBarID                128            /* resource id of MBAR rsrc */
  2. #define kEntireMenuMask        0x00000001    /* mask for enabling an entire menu */
  3.  
  4. #define kHeaderMenu            200            /* popup menu for search dialog */
  5. #define    kKillFieldMenu        201            /* Popup menu for header in Kill dialog */
  6. #define kKillMatchMenu        202            /* Popup menu for match type in kill dialog */
  7. #define kKillKeepMenu        208            /* Popup menu for keeping/killing matches */
  8.  
  9.  
  10.  
  11. /*    Apple menu. */
  12.  
  13. #define kAppleMenu                128
  14.  
  15. #define kAboutItem                1
  16.  
  17.  
  18.  
  19. /*    File menu. */
  20.  
  21. #define kFileMenu                129
  22.  
  23. #define kNewItem                1
  24. #define kOpenItem                2
  25. #define kCloseItem                3
  26. #define kSaveItem                5
  27. #define kSaveAsItem                6
  28. #define kPageSetupItem            8
  29. #define kPrintItem                9
  30. #define kPrintSelItem            10
  31. #define kGetFromHostItem        12
  32. #define kSendToHostItem            13
  33. #define kPrefsItem                15
  34. #define kQuitItem                17
  35.  
  36. #define kNumFileMenuItems        17
  37.  
  38. #define    kNewMask                (1L << kNewItem)
  39. #define kOpenMask                (1L << kOpenItem)
  40. #define kCloseMask                (1L << kCloseItem)
  41. #define kSaveMask                (1L << kSaveItem)
  42. #define kSaveAsMask                (1L << kSaveAsItem)
  43. #define kPageSetupMask            (1L << kPageSetupItem)
  44. #define kPrintMask                (1L << kPrintItem)
  45. #define kPrintSelMask            (1L << kPrintSelItem)
  46. #define kGetFromHostMask        (1L << kGetFromHostItem)
  47. #define kSendToHostMask            (1L << kSendToHostItem)
  48. #define kPrefsMask              (1L << kPrefsItem)
  49. #define kQuitMask                (1L << kQuitItem)
  50.  
  51. #define kNoneFileEnabled        (kEntireMenuMask | kNewMask | kOpenMask | \
  52.     kPageSetupMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  53.     
  54. #define kDAFileEnabled            (kEntireMenuMask | kNewMask | kOpenMask | \
  55.     kPageSetupMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  56.     
  57. #define kGroupFileEnabled        (kEntireMenuMask | kNewMask | kOpenMask | \
  58.     kCloseMask | kPageSetupMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  59.     
  60. #define kNewGroupFileEnabled    (kEntireMenuMask | kNewMask | kOpenMask | \
  61.     kCloseMask | kPageSetupMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  62.         
  63. #define kUserGroupFileEnabled    (kEntireMenuMask | kNewMask | kOpenMask | \
  64.     kCloseMask | kSaveMask | kSaveAsMask | \
  65.     kPageSetupMask | kGetFromHostMask | kSendToHostMask | \
  66.     kPrefsMask | kQuitMask)
  67.     
  68. #define kSubjectFileEnabled        (kEntireMenuMask | kNewMask | kOpenMask | \
  69.     kCloseMask | kPageSetupMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  70.     
  71. #define kArticleFileEnabled        (kEntireMenuMask | kNewMask | kOpenMask | \
  72.     kCloseMask | kSaveMask | kSaveAsMask | kPageSetupMask | kPrintMask | \
  73.     kPrintSelMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  74.     
  75. #define kMiscArticleFileEnabled    (kEntireMenuMask | kNewMask | kOpenMask | \
  76.     kCloseMask | kSaveMask | kSaveAsMask | kPageSetupMask | kPrintMask | \
  77.     kPrintSelMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  78.     
  79. #define kMailMessageFileEnabled    (kEntireMenuMask | kNewMask | kOpenMask | \
  80.     kCloseMask | kSaveMask | kSaveAsMask | kPageSetupMask | kPrintMask | \
  81.     kPrintSelMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  82.     
  83. #define kPostMessageFileEnabled    (kEntireMenuMask | kNewMask | kOpenMask | \
  84.     kCloseMask | kSaveMask | kSaveAsMask | kPageSetupMask | kPrintMask | \
  85.     kPrintSelMask | kGetFromHostMask | kPrefsMask | kQuitMask)
  86.     
  87. #define kStartupBadFileEnabled    (kEntireMenuMask | kPrefsMask | kQuitMask)
  88.  
  89.  
  90.  
  91. /*    Edit menu. */
  92.  
  93. #define kEditMenu                130
  94.  
  95. #define kUndoItem                1
  96. #define kCutItem                3
  97. #define kCopyItem                4
  98. #define kPasteItem                5
  99. #define kPasteQuoteItem            6
  100. #define kClearItem                7
  101. #define kSelectAllItem            8
  102. #define kShowHideHeaderItem        10
  103. #define kRotItem                11
  104.  
  105. #define kNumEditMenuItems        11
  106.  
  107. #define kUndoMask                (1L << kUndoItem)
  108. #define kCutMask                (1L << kCutItem)
  109. #define kCopyMask                (1L << kCopyItem)
  110. #define kPasteMask                (1L << kPasteItem)
  111. #define kPasteQuoteMask            (1L << kPasteQuoteItem)
  112. #define kClearMask                (1L << kClearItem)
  113. #define kSelectAllMask            (1L << kSelectAllItem)
  114. #define kShowHideHeaderMask        (1L << kShowHideHeaderItem)
  115. #define kRotMask                (1L << kRotItem)
  116.  
  117. #define kNoneEditEnabled        0
  118. #define kEditOnlyCopyEnabled    (kEntireMenuMask | kCopyMask)
  119.  
  120. #define kDAEditEnabled            (kEntireMenuMask | kUndoMask | kCutMask | \
  121.     kCopyMask | kPasteMask | kClearMask)
  122.     
  123. #define kGroupEditEnabled        (kEntireMenuMask | kSelectAllMask)
  124.     
  125. #define kNewGroupEditEnabled    (kEntireMenuMask | kSelectAllMask)
  126.     
  127. #define kUserGroupEditEnabled    (kEntireMenuMask | kSelectAllMask)
  128.     
  129. #define kSubjectEditEnabled        (kEntireMenuMask | kSelectAllMask)
  130.     
  131. #define kArticleEditEnabled        (kEntireMenuMask | kCopyMask | \
  132.     kSelectAllMask | kShowHideHeaderMask | kRotMask)
  133.     
  134. #define kMiscArticleEditEnabled    (kEntireMenuMask | kCopyMask | \
  135.     kSelectAllMask | kShowHideHeaderMask | kRotMask)
  136.     
  137. #define kMailMessageEditEnabled    (kEntireMenuMask | kCutMask | kCopyMask | \
  138.     kPasteMask | kPasteQuoteMask | kClearMask | kSelectAllMask | \
  139.     kShowHideHeaderMask)
  140.     
  141. #define kPostMessageEditEnabled    (kEntireMenuMask | kCutMask | kCopyMask | \
  142.     kPasteMask | kPasteQuoteMask | kClearMask | kSelectAllMask | \
  143.     kShowHideHeaderMask | kRotMask)
  144.     
  145. #define kStartupBadEditEnabled    0
  146.  
  147.  
  148.  
  149. /*    News menu. */
  150.  
  151. #define kNewsMenu                131
  152.  
  153. #define kNextArticleItem        1
  154. #define kNextThreadItem            2
  155. #define kNextGroupItem            3
  156. #define kMarkReadItem            5
  157. #define kMarkUnreadItem            6
  158. #define kPostItem                8
  159. #define kFollowUpItem            9
  160. #define kReplyViaEmailItem        10
  161. #define kSendItem                11
  162. #define kCheckNewArticlesItem    13
  163.  
  164. #define kNumNewsMenuItems        13
  165.  
  166. #define kNextArticleMask        (1L << kNextArticleItem)
  167. #define kNextThreadMask            (1L << kNextThreadItem)
  168. #define kNextGroupMask            (1L << kNextGroupItem)
  169. #define kMarkReadMask            (1L << kMarkReadItem)
  170. #define kMarkUnreadMask            (1L << kMarkUnreadItem)
  171. #define kPostMask                (1L << kPostItem)
  172. #define kFollowUpMask            (1L << kFollowUpItem)
  173. #define kReplyViaEmailMask        (1L << kReplyViaEmailItem)
  174. #define kSendMask                (1L << kSendItem)
  175. #define kCheckNewArticlesMask    (1L << kCheckNewArticlesItem)
  176.  
  177. #define kNoneNewsEnabled        (kEntireMenuMask | kPostMask)
  178.     
  179. #define kDANewsEnabled            (kEntireMenuMask | kPostMask)
  180.     
  181. #define kGroupNewsEnabled        (kEntireMenuMask | kNextArticleMask | \
  182.     kNextThreadMask | kNextGroupMask | kPostMask)
  183.     
  184. #define kNewGroupNewsEnabled    (kEntireMenuMask | kNextArticleMask | \
  185.     kNextThreadMask | kNextGroupMask | kPostMask)
  186.     
  187. #define kUserGroupNewsEnabled    (kEntireMenuMask | kNextArticleMask | \
  188.     kNextThreadMask | kNextGroupMask | kMarkReadMask | kMarkUnreadMask | \
  189.     kPostMask | kCheckNewArticlesMask)
  190.     
  191. #define kSubjectNewsEnabled        (kEntireMenuMask | kNextArticleMask | \
  192.     kNextThreadMask | kNextGroupMask | kMarkReadMask | kMarkUnreadMask | \
  193.     kPostMask)
  194.     
  195. #define kArticleNewsEnabled        (kEntireMenuMask | kNextArticleMask | \
  196.     kNextThreadMask | kNextGroupMask | kMarkReadMask | kMarkUnreadMask | \
  197.     kFollowUpMask | kReplyViaEmailMask | kPostMask)
  198.     
  199. #define kMiscArticleNewsEnabled    (kEntireMenuMask | kNextArticleMask | \
  200.     kNextThreadMask | kNextGroupMask | \
  201.     kFollowUpMask | kReplyViaEmailMask | kPostMask)
  202.     
  203. #define kMailMessageNewsEnabled (kEntireMenuMask | kPostMask | \
  204.     kSendMask)
  205.     
  206. #define kPostMessageNewsEnabled    (kEntireMenuMask | kPostMask | \
  207.     kSendMask)
  208.     
  209. #define kStartupBadNewsEnabled    0
  210.  
  211.  
  212.  
  213. /* Search menu */
  214.  
  215. #define    kSearchMenu                132
  216.  
  217. #define kFindItem                1
  218. #define kFindAgainItem            2
  219. #define kSearchItem                4
  220. #define kGroupKillItem            6
  221. #define kKillAuthorItem            7
  222. #define kKillSubjectItem        8
  223.  
  224. #define kNumSearchMenuItems        8
  225.  
  226. #define kFindMask                (1L << kFindItem)
  227. #define kFindAgainMask            (1L << kFindAgainItem)
  228. #define kSearchMask                (1L << kSearchItem)
  229. #define kGroupKillMask            (1L << kGroupKillItem)
  230. #define kKillAuthorMask            (1L << kKillAuthorItem)
  231. #define kKillSubjectMask        (1L << kKillSubjectItem)
  232.  
  233. #define kNoneSearchEnabled            0
  234.  
  235. #define kDASearchEnabled            0
  236.     
  237. #define kGroupSearchEnabled            (kEntireMenuMask | kFindMask | kFindAgainMask | \
  238.                                     kSearchMask | kGroupKillMask)
  239.     
  240. #define kNewGroupSearchEnabled        (kEntireMenuMask | kFindMask | kFindAgainMask | \
  241.                                     kSearchMask | kGroupKillMask)
  242.     
  243. #define kUserGroupSearchEnabled        (kEntireMenuMask | kFindMask | kFindAgainMask | \
  244.                                     kSearchMask | kGroupKillMask)
  245.     
  246. #define kSubjectSearchEnabled        (kEntireMenuMask | kFindMask | kFindAgainMask | \
  247.                                     kGroupKillMask | kKillSubjectMask)
  248.     
  249. #define kArticleSearchEnabled        (kEntireMenuMask | kFindMask | kFindAgainMask | \
  250.                                     kGroupKillMask | kKillAuthorMask | kKillSubjectMask)
  251.     
  252. #define kMiscArticleSearchEnabled    (kEntireMenuMask | kFindMask | kFindAgainMask | \
  253.                                     kGroupKillMask | kKillAuthorMask | kKillSubjectMask)
  254.     
  255. #define kMailMessageSearchEnabled    (kEntireMenuMask | kFindMask | kFindAgainMask)
  256.     
  257. #define kPostMessageSearchEnabled    (kEntireMenuMask | kFindMask | kFindAgainMask)
  258.     
  259. #define kStartupBadSearchEnabled    0
  260.  
  261.  
  262.  
  263. /*    Special menu. */
  264.  
  265. #define kSpecialMenu            133
  266.  
  267. #define kSubscribeItem            1
  268. #define kUnsubscribeItem        2
  269. #define kCheckNewGroupsItem        4
  270. #define kCheckDeletedGroupsItem    5
  271. #define kRebuildFullGroupsItem    6
  272. #define kOpenSelRefItem            8
  273. #define kOpenAllRefsItem        9
  274. #define kGetServerInfoItem        11
  275.  
  276. #define kNumSpecialMenuItems    11
  277.  
  278. #define kSubscribeMask            (1L << kSubscribeItem)
  279. #define kUnsubscribeMask        (1L << kUnsubscribeItem)
  280. #define kCheckNewGroupsMask        (1L << kCheckNewGroupsItem)
  281. #define kCheckDeletedGroupsMask    (1L << kCheckDeletedGroupsItem)
  282. #define kRebuildFullGroupsMask    (1L << kRebuildFullGroupsItem)
  283. #define kOpenSelRefMask            (1L << kOpenSelRefItem)
  284. #define kOpenAllRefsMask        (1L << kOpenAllRefsItem)
  285. #define kGetServerInfoMask        (1L << kGetServerInfoItem)
  286.  
  287. #define kNoneSpecialEnabled    (kEntireMenuMask | kCheckNewGroupsMask | \
  288.     kCheckDeletedGroupsMask | kRebuildFullGroupsMask | kGetServerInfoMask)
  289.  
  290. #define kDASpecialEnabled        (kEntireMenuMask | kCheckNewGroupsMask | \
  291.     kCheckDeletedGroupsMask | kRebuildFullGroupsMask | kGetServerInfoMask)
  292.     
  293. #define kGroupSpecialEnabled    (kEntireMenuMask | kSubscribeMask | \
  294.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  295.     kGetServerInfoMask)
  296.     
  297. #define kNewGroupSpecialEnabled    (kEntireMenuMask | kSubscribeMask | \
  298.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  299.     kGetServerInfoMask)
  300.     
  301. #define kUserGroupSpecialEnabled    (kEntireMenuMask | kUnsubscribeMask | \
  302.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  303.     kGetServerInfoMask)
  304.     
  305. #define kSubjectSpecialEnabled    (kEntireMenuMask | \
  306.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  307.     kGetServerInfoMask)
  308.     
  309. #define kArticleSpecialEnabled    (kEntireMenuMask | \
  310.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  311.     kOpenSelRefMask | kOpenAllRefsMask | kGetServerInfoMask)
  312.     
  313. #define kMiscArticleSpecialEnabled    (kEntireMenuMask | \
  314.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  315.     kOpenSelRefMask | kOpenAllRefsMask | kGetServerInfoMask)
  316.     
  317. #define kMailMessageSpecialEnabled (kEntireMenuMask | \
  318.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  319.     kGetServerInfoMask)
  320.     
  321. #define kPostMessageSpecialEnabled    (kEntireMenuMask | \
  322.     kCheckNewGroupsMask | kCheckDeletedGroupsMask | kRebuildFullGroupsMask | \
  323.     kGetServerInfoMask)
  324.     
  325. #define kStartupBadSpecialEnabled    0
  326.  
  327.  
  328.  
  329. /*    Windows menu. */
  330.  
  331. #define kWindMenu                134
  332.  
  333. #define kCycleItem                1
  334. #define kZoomItem                2
  335. #define kShowHideFullItem        4
  336. #define kFirstWindOffset        6
  337.  
  338. #define kNumWindMenuItems        4
  339.  
  340. #define kCycleMask                (1L << kCycleItem)
  341. #define kZoomMask                (1L << kZoomItem)
  342. #define kShowHideFullMask        (1L << kShowHideFullItem)
  343.  
  344. #define kNoneWindEnabled        (kEntireMenuMask | kShowHideFullMask)
  345.  
  346. #define kDAWindEnabled            (kEntireMenuMask | kCycleMask | \
  347.     kShowHideFullMask)
  348.     
  349. #define kGroupWindEnabled        (kEntireMenuMask | kCycleMask | \
  350.     kZoomMask | kShowHideFullMask)
  351.     
  352. #define kNewGroupWindEnabled    (kEntireMenuMask | kCycleMask | \
  353.     kZoomMask | kShowHideFullMask)
  354.     
  355. #define kUserGroupWindEnabled    (kEntireMenuMask | kCycleMask | \
  356.     kZoomMask | kShowHideFullMask)
  357.     
  358. #define kSubjectWindEnabled        (kEntireMenuMask | kCycleMask | \
  359.     kZoomMask | kShowHideFullMask)
  360.     
  361. #define kArticleWindEnabled        (kEntireMenuMask | kCycleMask | \
  362.     kZoomMask | kShowHideFullMask)
  363.     
  364. #define kMiscArticleWindEnabled    (kEntireMenuMask | kCycleMask | \
  365.     kZoomMask | kShowHideFullMask)
  366.     
  367. #define kMailMessageWindEnabled    (kEntireMenuMask | kCycleMask | \
  368.     kZoomMask | kShowHideFullMask)
  369.     
  370. #define kPostMessageWindEnabled    (kEntireMenuMask | kCycleMask | \
  371.     kZoomMask | kShowHideFullMask)
  372.     
  373. #define kStartupBadWindEnabled    0
  374.  
  375.  
  376. void SetMenusTo (
  377.     Boolean newAppleMenuEnabled,
  378.     unsigned long newFileMenuState, 
  379.     unsigned long newEditMenuState,
  380.     unsigned long newNewsMenuState, 
  381.     unsigned long newSearchMenuState,
  382.     unsigned long newSpecialMenuState, 
  383.     unsigned long newWindMenuState);
  384.     
  385. void AdjustMenus (void);
  386.  
  387.